package com.aibaixun.system.service;

import com.aibaixun.common.core.domain.R;
import com.aibaixun.system.domain.dto.IndexStatisticsDto;
import com.aibaixun.system.domain.vo.*;

import java.util.List;

/**
 * 首页统计 业务层
 *
 * @author zhangyh
 */
public interface IndexStatisticsService {

    /**
     * 获取电力、冷量、机柜统计
     * @param dto
     * @return
     */
    R<PowerAndCabinetStatisticsVo> getPowerAndCabinet(IndexStatisticsDto dto);

    /**
     * 获取告警统计
     * @param dto
     * @return
     */
    R<AlarmStatisticsVo> getAlarm(IndexStatisticsDto dto);

    /**
     * 工单
     * @param dto
     * @return
     */
    R<WorkOrderStatisticsVo> getWorkOrder(IndexStatisticsDto dto);

    /**
     * 能效
     * @param dto
     * @return
     */
    R<List<EnergyPueStatisticsVo>> getEnergyPue(IndexStatisticsDto dto);

    /**
     * 小时PUE
     * @param dto
     * @return
     */
    R<List<TopPueStatisticsVo>> getTopPue(IndexStatisticsDto dto);

    List<QueryAlarmVo> queryAlarmList();

}
